package facade;

import java.util.List;
import javax.inject.Inject;
import javax.jws.WebMethod;
import javax.jws.WebService;
import model.empresa.Empresa;
import model.empresa.EmpresaRepository;
import model.tipolixo.TipoLixo;
import model.tipolixo.TipoLixoRepository;
import model.usuario.UsuarioRepository;
import model.usuario.Usuario;

@WebService()
public class Facade {

    @Inject
    EmpresaRepository empresaRepository;
    @Inject
    TipoLixoRepository tipoLixoRepository;
    @Inject
    UsuarioRepository usuarioRepository;


    @WebMethod(operationName = "recuperaTiposLixo")
    public List<TipoLixo> recuperaTiposLixo() {
        return tipoLixoRepository.getListaTipoLixo();
    }

    @WebMethod(operationName = "recuperaUsuarios")
    public List<Usuario> recuperaUsuarios() {
        return usuarioRepository.getListaUsuario();
    }

    @WebMethod(operationName = "recuperaEmpresas")
    public List<Empresa> recuperaEmpresas() {
        return empresaRepository.getListaEmpresa();
    }

    @WebMethod(operationName = "recuperaEmpresasTipoLixo")
    public List<Empresa> recuperaEmpresasTipoLixo(String idTipoLixo) {
        return empresaRepository.getListaEmpresaTipoLixo(idTipoLixo);
    }

    @WebMethod(operationName = "salvarEmpresa")
    public void salvarEmpresa(Empresa empresa) {
        empresaRepository.salvar(empresa);
    }

    @WebMethod(operationName = "salvarTipoLixo")
    public void salvarTipoLixo(TipoLixo tipoLixo) {
        tipoLixoRepository.salvar(tipoLixo);
    }

    @WebMethod(operationName = "salvarUsuario")
    public void salvarUsuario(Usuario usuario) {
        usuarioRepository.salvar(usuario);
    }

        @WebMethod(operationName = "excluirEmpresa")
    public void excluirEmpresa(Empresa empresa) {
        empresaRepository.excluir(empresa);
    }

    @WebMethod(operationName = "excluirTipoLixo")
    public void excluirTipoLixo(TipoLixo tipoLixo) {
        tipoLixoRepository.excluir(tipoLixo);
    }

    @WebMethod(operationName = "excluirUsuario")
    public void excluirUsuario(Usuario usuario) {
        usuarioRepository.excluir(usuario);
    }
    
}